# 运算符


# 算术运算符
print(1 + 2)  # 3
print(1 - 1)  # 0
print(1 * 3)  # 3
print(1 / 4)  # 0.25  除法运算
print(11 / 2)  # 5.5  除法运算-保留小数点
print(11 // 2)  # 5  整除运算-不保留小数点后数据
print(11 % 2)  # 1
print(2 ** 3)  # 表示2的3次方，打印8

print(9 // 4)  # 2
print(-9 // -4)  # 2

# 整除一正一负向下取整
print(9 // -4)  # -3  9/(-4)=-2...1 采用向下取整的办法
print(-9 // 4)  # -3

# 一正一负取余公式：余数=被除数-除数*商
print(9 % -4)  # -3     -3= 9-（-4）*-3

# 赋值运算符
a = 3 * 4
print(a)  # 12

# 链式赋值
b = c = a
print(a, id(a))
print(b, id(b))
print(c, id(c))  # abc的值和id（地址）都是一样的

a = 10
a += 20  # a=a+20
print(a)  # 30
# 还有-= *= /= //=以此类推

# 解包赋值
a, b, c = 1, 2, 3
print(a, b, c)  # 1 2 3

# 交换量变量值
a, b = 1, 2
print("交换前", a, b, )
a, b = b, a
print("交换后", a, b, )

# 比较运算符
print('a<b', a < b)  # False
print('a>b', a > b)  # True
print('a<=b', a <= b)  # 下面以此类推
print('a>=b', a >= b)
print('a==b', a == b)
print('a!=b', a == b)

'''
==比较的是值
is比较的是标识（地址）
'''
a = 1
b = 1
print(a == b)  # True
print(a is b)  # True
# 说明a和b id标识也相同

print(a is not b)  # False

# 布尔运算符
# and相当于&&
# or相当于||
# not相当于！ not True==False,not False==True
a=1
b=2
print(a==1 and b==2)#True
print(a==2 and b==2)#False
print(a==1 or b==3)#True


#位运算符
#位与&，位与|，

